package com.xmut.mall.coupon.controller;

import com.xmut.mall.coupon.annotation.CheckJwt;
import com.xmut.mall.coupon.searchparams.CouponActivitySearchParam;
import com.xmut.mall.coupon.service.CouponActivityService;
import com.xmut.mall.coupon.utils.RespBean;
import com.xmut.mall.coupon.vo.AddCouponActivityItemVo;
import com.xmut.mall.coupon.vo.AddCouponActivityVo;
import com.xmut.mall.coupon.vo.PageVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("coupon/couponactivity")
public class CouponActivityController {
    @Autowired
    private CouponActivityService couponActivityService;

    /**
     * 关闭券活动
     * @param id
     * @return
     */
    @CheckJwt
    @PutMapping("/closeCouponActivity/{id}")
    public RespBean closeCouponActivity(@PathVariable Long id){
        return couponActivityService.closeCouponActivity(id);
    }

    /**
     * 获取官方管理端的去昂活动的详情
     * @param id
     * @return
     */
    @CheckJwt
    @GetMapping("/getManagerCouponActivityDetail/{id}")
    public RespBean getManagerCouponActivityDetail(@PathVariable Long id){
        return couponActivityService.getManagerCouponActivityDetail(id);
    }

    /**
     * 获取官方管理后台的券活动的分页数据
     * @param param
     * @return
     */
    @CheckJwt
    @PostMapping("/getManagerCouponActivityPage")
    public RespBean getManagerCouponActivityPage(@RequestBody CouponActivitySearchParam param){
        PageVO vo = new PageVO();
        BeanUtils.copyProperties(param,vo);
        return couponActivityService.getManagerCouponActivityPage(vo,param);
    }

    /**
     * 添加券活动
     * @param vo
     * @return
     */
    @CheckJwt
    @PostMapping("/addCouponActivity")
    public RespBean addCouponActivity(@RequestBody AddCouponActivityVo vo) {
        return couponActivityService.addCouponActivity(vo);
    }
}
